#include <iostream>
#include <string>
using namespace std;

bool sta; //true为token中，false为token外

bool itNotToken(char c)
{
	return (c==" ")||(c==",")||(c==".");
}

int main()
{
	string str;
	cin>>str;
	int num=0;
	//确认初始状态
	if(itNotToken(str[0]))
		sta=false;
	else
		sta=true;
	
	bool isfirst=true;
	for(char c:str) //下面从第二个字符（str[1]）开始遍历
	{
		if(isfirst)
		{
			isfirst=false;
			continue;
		}
		
		if(sta) //之前正在处理token
		{
			if(isNotToken(c)) //遇到终结符，出状态
			{
				num++;
				sta=false;
			}
		}
		else //之前没有处理token
		{
			if(!isNotToken(c))
				sta=true;
		}
	}
}